
package de.berlin.fu.inf.nbi.rdflinda;

/**
 * @author Daniel Graff Interface holding plenty of configuration constants.
 */
public class Constants
{
    /** Current working directory. */
    public static final String WORKING_DIR_PATH                 = System.getProperty("user.dir");

    /** File suffix jar. */
    public static final String FILE_SUFFIX_JAR                  = ".jar";

    /** Carriage return and line feed. */
    public static final String CRLN                             = "\r\n";

    /** Flag indicating that code is executed inside the Eclipse environment. */
    public static final byte   ECLIPSE_MODE                     = 0;

    /** Identifier of the current used NetLogo extension. */
    public static final String EXTENSION_NAME                   = "SwarmLindaExtension";

    /** Name of the extension version file. */
    public static final String EXTENSION_VERSION_FILENAME       = "version";

    /** NetLogo path. */
    public static final String NETLOGO_PATH                     = WORKING_DIR_PATH;

    /** Path of implemented NetLogo models. */
    public static final String NETLOGO_MODELS_PATH              = NETLOGO_PATH
                                                                    + "\\models\\myModels\\";

    /** Name of the model version file. */
    public static final String MODEL_VERSION_FILENAME           = "model-version";

    /** Name of the model file. */
    public static final String MODEL_FILENAME                   = "swarm-linda-simulator.nlogo";

    /** Flag indicating failure. */
    public static final int    FAILURE                          = -2;

    /** Name of the extension file. */
    public static final String JAR_FILENAME                     = EXTENSION_NAME + ".jar";

    /** Flag indicating unavailability. */
    public static final int    NOT_AVAILABLE                    = -1;

    /** Minimal version. */
    public static final int    MIN_VERSION                      = 1;

    /** Descriptive entry for model version file. */
    public static final String MODEL_VERSION                    = "model-version: ";

    /** Extension path of NetLogo. */
    public static final String NETLOGO_EXTENSION_PATH           = NETLOGO_PATH + "\\extensions\\";

    /** Base path for storage of plots for NetLogo. */
    public static final String NETLOGO_PLOTS_STORAGE_BASE_PATH  = NETLOGO_PATH
                                                                    + "\\models\\myModels\\exports\\plots\\new test-series";

    /** Directory containing the version file for the extension. */
    public static final String VERSION_DIR                      = "\\etc\\";

    /** Identifier of folder for node failure tests. */
    public static final String PLOTS_BASE_DIR_NAME_FOR_FAILURES = " node failures";

    /** Name of the package and class file. */
    public static final String EXTENSION_FILENAME               = "primitives/" + EXTENSION_NAME
                                                                    + ".class";

    /** Base file name for the test runs. */
    public static final String TEST_FILENAME                    = "test_";

    /** File suffix csv. */
    public static final String FILE_SUFFIX_CSV                  = ".csv";

    /** First serial number. */
    public static final String START_NUMBER                     = "01";

    /** Descriptive entry for extension version file. */
    public static final String PROJECT_VERSION                  = "project-version: ";

    /** Flag indicating that code is executed inside NetLogo. */
    public static final byte   NETLOGO_MODE                     = 1;
};
